The present disclosure concerns flash storage devices and, more particularly, restoring an indirection system for flash storage devices.
An indirection system for flash storage devices keeps track of the physical location on the flash memory device for each host accessible logical block address (LBA). After the flash storage device loses power and boots again when power is restored, the indirection system is restored to the state the indirection system had before the power loss, a process known as indirection replay or replay. Indirection replay often utilizes a combination of snapshots of the indirection system as a whole, with a journal of new writes or write deltas logged alongside user data. However, snapshot-based replay may increase firmware complexity, as synchronization between snapshots and journaling must be managed. Run-time performance may suffer due to the resources required for snapshots. Boot-time performance may also suffer when replaying using a snapshot.